package com.niuwa.p2p.service.business;

import java.util.List;
import java.util.Map;

import com.niuwa.p2p.entity.business.CustClaim;
import com.niuwa.p2p.entity.business.LenderProject;
import com.niuwa.p2p.entity.business.ReceivePlan;
import com.niuwa.p2p.vo.front.account.CustomerinvestlogVo;
import com.niuwa.p2p.vo.front.account.DailyIncomeVo;
import com.niuwa.p2p.vo.front.account.LoanInvestVo;
import com.niuwa.p2p.vo.front.account.RepaymentplanlistVo;
import com.niuwa.p2p.vo.front.account.TransferDetailVo;

public interface IInvestLoanTransferService {

	/**
	 * 查询投资、回款、待还、债权信息
	 * @param param 
	 * @return
	 */
	LoanInvestVo selectLoanInvestVoByCustId(Map<String, Object> param);

	/**
	 * 查询借款人 借款项目
	 * @param param
	 */
	java.util.List<LenderProject> selectLoanListByLender(Map<String, Object> param);

	/**
	 * 查询投资人投资记录
	 * @param param
	 * @return
	 */
	List<CustomerinvestlogVo> selectInvestListByCustIdListPage(Map<String, Object> param);
	/**
	 * 回款详情
	 * @param param
	 * @return
	 */
	List<ReceivePlan> selectInvestListByProNo(Map<String, Object> mapParam);
	
	/**
	 * 投资人 回款计划列表
	 * @param param
	 * @return
	 */
	List<RepaymentplanlistVo> selectReceiveListByCustIdListPage(Map<String, Object> param);
	
	/**
	 * 投资人 债权列表
	 * @param param
	 * @return
	 */
	List<CustClaim> selectClaimListByCustNameListPage(Map<String, Object> param);

	/**
	 * 债权详情
	 * @param projectNo
	 * @return
	 */
	List<TransferDetailVo> selectTransferListByProNo(Map<String, Object> mapParam);

	Map<String, Object> selectInvestByProNo(Map<String, Object> mapParam);

	Map<String, Object> selectInvestRecordByProNoCustId(Map<String, Object> mapParam);

	Map<String, Object> selectClaimDetailByCustIdCreditNo(Map<String, Object> param);

	Map<String, Object> selectMonthlyIncomeByCustId(String string);

	List<DailyIncomeVo> selectMonthlyListIncomeByCustId(Map<String, Object> map);

	Map<String, Object> selectCustClaimDetailByParam(Map<String, Object> param);
}
